package kioscodeal

import java.io.Serializable;

class Pedido implements Serializable {

	//Integer numero; Esto seria igual al id
	User cliente;
	EstadoPedido estadoPedido;
	CalificacionPedido calificacionPedido;
	Date fechaCreacion;
	Date fechaDespacho;
	ProductoPedido productoPedidos = [] as Set;
	Double importeTotal = 0; // TODO : No hace falta persistir el importe total
	Double distanciaComercioCliente = 0; //TODO : ver si se hace aca, si se guarda o solo es algo visual
	
	Pedido(){
		
	}
	
    static constraints = {
		cliente nullable:false
		estadoPedido nullable:false
		calificacionPedido nullable:false
		productoPedidos nullable:false
		importeTotal blank:false,min:0D
		distanciaComercioCliente min:0D,blank:false
    }
	
	double getImporteTotal(){
		double acumulado = 0;
		
		for (ProductoPedido productoPedidos : this.productoPedidos){
			acumulado = acumulado + productoPedidos.cantidad * productoPedidos.producto.precioUnitario;
		}
		
		return acumulado;
	}
	
	ProductoPedido getProductoPedidos(Producto prod){
		
		if (this.productoPedidos != null){
			for (ProductoPedido productoPedido in this.productoPedidos){
				if (productoPedido.producto.id == prod.id){
					return productoPedido
				}

			}
		}
		//else
			return null
	}
}
